package models;

import java.sql.Date;
import java.util.Collection;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;

import play.db.jpa.Model;

@Entity
public class Usuario extends Model {

	public String nome;
	public String username;
	public String password;
	
	@Enumerated(EnumType.STRING)
	public TipoUsuarioEnum tipoUsuario;
	
	public String endereco;
	public String CEP;
	public String cidade;
	public String estado;
	public int numero;
	public double salario;
	public String cargo;
	public Date dataAdmissao;
	public int diaPagamento;
	public int horasDiarias;
	public int custoHora;
	
	@OneToMany(mappedBy="usuario")
	private Collection<Tarefa> pontosEletronicos;
	
	@OneToOne
	@JoinColumn(name="setor_id")
	private Setor setor;

	public Usuario(String nome, String username, String password,
			TipoUsuarioEnum tipoUsuario, String endereco, String CEP,
			String cidade, String estado, int numero, double salario,
			String cargo, Date dataAdimicao, int diaPagamento, int horasDiarias, int custoHora) {
		super();
		this.nome = nome;
		this.username = username;
		this.password = password;
		this.tipoUsuario = tipoUsuario;
		this.endereco = endereco;
		this.CEP = CEP;
		this.cidade = cidade;
		this.estado = estado;
		this.numero = numero;
		this.salario = salario;
		this.cargo = cargo;
		this.dataAdmissao = dataAdimicao;
		this.diaPagamento = diaPagamento;
		this.horasDiarias = horasDiarias;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public TipoUsuarioEnum getTipoUsuario() {
		return tipoUsuario;
	}

	public void setTipoUsuario(TipoUsuarioEnum tipoUsuario) {
		this.tipoUsuario = tipoUsuario;
	}

	public String getEndereco() {
		return endereco;
	}

	public void setEndereco(String endereco) {
		endereco = endereco;
	}

	public String getCEP() {
		return CEP;
	}

	public void setCEP(String cEP) {
		CEP = cEP;
	}

	public String getCidade() {
		return cidade;
	}

	public void setCidade(String cidade) {
		this.cidade = cidade;
	}

	public String getEstado() {
		return estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public int getNumero() {
		return numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public double getSalario() {
		return salario;
	}

	public void setSalario(double salario) {
		this.salario = salario;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public Date getDataAdimicao() {
		return dataAdmissao;
	}

	public void setDataAdimicao(Date dataAdimicao) {
		this.dataAdmissao = dataAdimicao;
	}

	public int getDiaPagamento() {
		return diaPagamento;
	}

	public void setDiaPagamento(int diaPagamento) {
		this.diaPagamento = diaPagamento;
	}

	public int getHorasDiarias() {
		return horasDiarias;
	}

	public void setHorasDiarias(int horasDiarias) {
		this.horasDiarias = horasDiarias;
	}

	public int getCustoHora() {
		return custoHora;
	}

	public void setCustoHora(int custoHora) {
		this.custoHora = custoHora;
	}
	
	
}
